package me.zhengjie.open.utils;

import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;

/**
 * @author yushaopeng
 * @Package me.zhengjie.open.utils
 * @Description:
 * @date 2025/1/9 12:50
 */
public class TimeUtils {

    public Timestamp getTime(String dateString){
        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME; // ISO 8601格式，不带时区

        // 解析字符串为LocalDateTime
        LocalDateTime localDateTime = LocalDateTime.parse(dateString, formatter);

        // 假设字符串表示的是UTC时间，转换为Timestamp
        Timestamp timestamp = Timestamp.valueOf(localDateTime.atOffset(ZoneOffset.UTC).toLocalDateTime());

        // 如果字符串表示的是其他时区的时间，你需要先转换到那个时区，然后再决定如何处理时区偏移
        // 例如，如果字符串表示的是系统默认时区的时间：
        // Timestamp timestampWithDefaultTimezone = Timestamp.valueOf(localDateTime.atZone(ZoneId.systemDefault()).toLocalDateTime());
        // 但请注意，这样做可能会丢失时区信息，因为Timestamp本身不包含时区信息。

        System.out.println("Converted Timestamp: " + timestamp);
        return timestamp;
    }
}
